#include<bits/stdc++.h>
using namespace std;
const int N=2010;
int n,m,q,ans,tx1,ty1,tx2,ty2;
int c[4][2]={{1,0},{0,1},{-1,0},{0,-1}};
bool vis[N][N];
char a[N][N];
int check(int x,int y) {return a[x][y]=='1'&&tx1<=x&&x<=tx2&&ty1<=y&&y<=ty2&&!vis[x][y];}
void dfs(int x,int y)
{
	vis[x][y]=1;
	for(int i=0,tx,ty;i<4;i++)
	{
		tx=x+c[i][0],ty=y+c[i][1];
		if(check(tx,ty)) dfs(tx,ty);
	}
}
int main()
{
	freopen("unicom.in","r",stdin);
	freopen("unicom.out","w",stdout);
	scanf("%d%d%d",&n,&m,&q);
	for(int i=1;i<=n;i++) scanf("%s",a[i]+1);
	while(q--)
	{
		scanf("%d%d%d%d",&tx1,&ty1,&tx2,&ty2);
		ans=0;
		for(int i=tx1;i<=tx2;i++)
			for(int j=ty1;j<=ty2;j++)
				if(a[i][j]=='1'&&!vis[i][j]) ++ans,dfs(i,j);
		for(int i=tx1;i<=tx2;i++)
			for(int j=ty1;j<=ty2;j++) vis[i][j]=0;
		cout<<ans<<'\n';
	}
	fclose(stdin);fclose(stdout);
	return 0;
}
